package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 车辆对象 t_vehicle
 * 
 * @author wuliuzhen
 * @date 2025-10-01
 */
public class TVehicle extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增主键 */
    private Long id;

    /** 车辆识别号代码 */
    @Excel(name = "车辆识别号代码")
    private String vinCode;

    /** 品牌 */
    @Excel(name = "品牌")
    private String brand;

    /** 整车型号 */
    @Excel(name = "整车型号")
    private String vehicleModel;

    /** 生产序号 */
    @Excel(name = "生产序号")
    private String productionSerialNumber;

    /** 乘员数 */
    @Excel(name = "乘员数")
    private Long numberOfOccupants;

    /** 乘员数_特殊 */
    private String numberOfOccupantsSpecial;

    /** 最大允许总质量 kg */
    private BigDecimal maximumAllowableGrossMass;

    /** 主驱动电机型号 */
    @Excel(name = "主驱动电机型号")
    private String mainDriveMotorModel;

    /** 2号电机型号 */
    private String motor2Model;

    /** 3号电机型号 */
    private String motor3Model;

    /** 4号电机型号 */
    private String motor4Model;

    /** 动力电池工作电压 V */
    private BigDecimal powerBatteryOperatingVoltage;

    /** 主驱动电机额定功率 kW */
    private BigDecimal mainDriveMotorRatedPower;

    /** 2号电机额定功率 */
    private BigDecimal motor2RatedPower;

    /** 3号电机额定功率 */
    private BigDecimal motor3RatedPower;

    /** 4号电机额定功率 */
    private BigDecimal motor4RatedPower;

    /** 动力电池容量 AH */
    @Excel(name = "动力电池容量 AH")
    private BigDecimal powerBatteryCapacity;

    /** 主驱动电机峰值功率 kW */
    @Excel(name = "主驱动电机峰值功率 kW")
    private BigDecimal mainDriveMotorPeakPower;

    /** 2号电机峰值功率 */
    private BigDecimal motor2PeakPower;

    /** 3号电机峰值功率 */
    private BigDecimal motor3PeakPower;

    /** 4号电机峰值功率 */
    private BigDecimal motor4PeakPower;

    /** 制造年月 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "制造年月", width = 30, dateFormat = "yyyy-MM-dd")
    private Date manufacturingDate;

    /** 制造国 */
    private String countryOfManufacture;

    /** 备注信息 */
    private String remarks;

    /** 车牌号 */
    @Excel(name = "车牌号")
    private String licensePlateNumber;

    /** 责任人 */
    @Excel(name = "责任人")
    private String responsiblePerson;

    /** 责任人联系方式 */
    @Excel(name = "责任人联系方式")
    private String responsiblePersonContact;

    /** 记录创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "记录创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 记录更新时间 */
    private Date updatedAt;

    /** 租户信息 */
    @Excel(name = "租户信息")
    private Long deptId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setVinCode(String vinCode) 
    {
        this.vinCode = vinCode;
    }

    public String getVinCode() 
    {
        return vinCode;
    }

    public void setBrand(String brand) 
    {
        this.brand = brand;
    }

    public String getBrand() 
    {
        return brand;
    }

    public void setVehicleModel(String vehicleModel) 
    {
        this.vehicleModel = vehicleModel;
    }

    public String getVehicleModel() 
    {
        return vehicleModel;
    }

    public void setProductionSerialNumber(String productionSerialNumber) 
    {
        this.productionSerialNumber = productionSerialNumber;
    }

    public String getProductionSerialNumber() 
    {
        return productionSerialNumber;
    }

    public void setNumberOfOccupants(Long numberOfOccupants) 
    {
        this.numberOfOccupants = numberOfOccupants;
    }

    public Long getNumberOfOccupants() 
    {
        return numberOfOccupants;
    }

    public void setNumberOfOccupantsSpecial(String numberOfOccupantsSpecial) 
    {
        this.numberOfOccupantsSpecial = numberOfOccupantsSpecial;
    }

    public String getNumberOfOccupantsSpecial() 
    {
        return numberOfOccupantsSpecial;
    }

    public void setMaximumAllowableGrossMass(BigDecimal maximumAllowableGrossMass) 
    {
        this.maximumAllowableGrossMass = maximumAllowableGrossMass;
    }

    public BigDecimal getMaximumAllowableGrossMass() 
    {
        return maximumAllowableGrossMass;
    }

    public void setMainDriveMotorModel(String mainDriveMotorModel) 
    {
        this.mainDriveMotorModel = mainDriveMotorModel;
    }

    public String getMainDriveMotorModel() 
    {
        return mainDriveMotorModel;
    }

    public void setMotor2Model(String motor2Model) 
    {
        this.motor2Model = motor2Model;
    }

    public String getMotor2Model() 
    {
        return motor2Model;
    }

    public void setMotor3Model(String motor3Model) 
    {
        this.motor3Model = motor3Model;
    }

    public String getMotor3Model() 
    {
        return motor3Model;
    }

    public void setMotor4Model(String motor4Model) 
    {
        this.motor4Model = motor4Model;
    }

    public String getMotor4Model() 
    {
        return motor4Model;
    }

    public void setPowerBatteryOperatingVoltage(BigDecimal powerBatteryOperatingVoltage) 
    {
        this.powerBatteryOperatingVoltage = powerBatteryOperatingVoltage;
    }

    public BigDecimal getPowerBatteryOperatingVoltage() 
    {
        return powerBatteryOperatingVoltage;
    }

    public void setMainDriveMotorRatedPower(BigDecimal mainDriveMotorRatedPower) 
    {
        this.mainDriveMotorRatedPower = mainDriveMotorRatedPower;
    }

    public BigDecimal getMainDriveMotorRatedPower() 
    {
        return mainDriveMotorRatedPower;
    }

    public void setMotor2RatedPower(BigDecimal motor2RatedPower) 
    {
        this.motor2RatedPower = motor2RatedPower;
    }

    public BigDecimal getMotor2RatedPower() 
    {
        return motor2RatedPower;
    }

    public void setMotor3RatedPower(BigDecimal motor3RatedPower) 
    {
        this.motor3RatedPower = motor3RatedPower;
    }

    public BigDecimal getMotor3RatedPower() 
    {
        return motor3RatedPower;
    }

    public void setMotor4RatedPower(BigDecimal motor4RatedPower) 
    {
        this.motor4RatedPower = motor4RatedPower;
    }

    public BigDecimal getMotor4RatedPower() 
    {
        return motor4RatedPower;
    }

    public void setPowerBatteryCapacity(BigDecimal powerBatteryCapacity) 
    {
        this.powerBatteryCapacity = powerBatteryCapacity;
    }

    public BigDecimal getPowerBatteryCapacity() 
    {
        return powerBatteryCapacity;
    }

    public void setMainDriveMotorPeakPower(BigDecimal mainDriveMotorPeakPower) 
    {
        this.mainDriveMotorPeakPower = mainDriveMotorPeakPower;
    }

    public BigDecimal getMainDriveMotorPeakPower() 
    {
        return mainDriveMotorPeakPower;
    }

    public void setMotor2PeakPower(BigDecimal motor2PeakPower) 
    {
        this.motor2PeakPower = motor2PeakPower;
    }

    public BigDecimal getMotor2PeakPower() 
    {
        return motor2PeakPower;
    }

    public void setMotor3PeakPower(BigDecimal motor3PeakPower) 
    {
        this.motor3PeakPower = motor3PeakPower;
    }

    public BigDecimal getMotor3PeakPower() 
    {
        return motor3PeakPower;
    }

    public void setMotor4PeakPower(BigDecimal motor4PeakPower) 
    {
        this.motor4PeakPower = motor4PeakPower;
    }

    public BigDecimal getMotor4PeakPower() 
    {
        return motor4PeakPower;
    }

    public void setManufacturingDate(Date manufacturingDate) 
    {
        this.manufacturingDate = manufacturingDate;
    }

    public Date getManufacturingDate() 
    {
        return manufacturingDate;
    }

    public void setCountryOfManufacture(String countryOfManufacture) 
    {
        this.countryOfManufacture = countryOfManufacture;
    }

    public String getCountryOfManufacture() 
    {
        return countryOfManufacture;
    }

    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    public void setLicensePlateNumber(String licensePlateNumber) 
    {
        this.licensePlateNumber = licensePlateNumber;
    }

    public String getLicensePlateNumber() 
    {
        return licensePlateNumber;
    }

    public void setResponsiblePerson(String responsiblePerson) 
    {
        this.responsiblePerson = responsiblePerson;
    }

    public String getResponsiblePerson() 
    {
        return responsiblePerson;
    }

    public void setResponsiblePersonContact(String responsiblePersonContact) 
    {
        this.responsiblePersonContact = responsiblePersonContact;
    }

    public String getResponsiblePersonContact() 
    {
        return responsiblePersonContact;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("vinCode", getVinCode())
            .append("brand", getBrand())
            .append("vehicleModel", getVehicleModel())
            .append("productionSerialNumber", getProductionSerialNumber())
            .append("numberOfOccupants", getNumberOfOccupants())
            .append("numberOfOccupantsSpecial", getNumberOfOccupantsSpecial())
            .append("maximumAllowableGrossMass", getMaximumAllowableGrossMass())
            .append("mainDriveMotorModel", getMainDriveMotorModel())
            .append("motor2Model", getMotor2Model())
            .append("motor3Model", getMotor3Model())
            .append("motor4Model", getMotor4Model())
            .append("powerBatteryOperatingVoltage", getPowerBatteryOperatingVoltage())
            .append("mainDriveMotorRatedPower", getMainDriveMotorRatedPower())
            .append("motor2RatedPower", getMotor2RatedPower())
            .append("motor3RatedPower", getMotor3RatedPower())
            .append("motor4RatedPower", getMotor4RatedPower())
            .append("powerBatteryCapacity", getPowerBatteryCapacity())
            .append("mainDriveMotorPeakPower", getMainDriveMotorPeakPower())
            .append("motor2PeakPower", getMotor2PeakPower())
            .append("motor3PeakPower", getMotor3PeakPower())
            .append("motor4PeakPower", getMotor4PeakPower())
            .append("manufacturingDate", getManufacturingDate())
            .append("countryOfManufacture", getCountryOfManufacture())
            .append("remarks", getRemarks())
            .append("licensePlateNumber", getLicensePlateNumber())
            .append("responsiblePerson", getResponsiblePerson())
            .append("responsiblePersonContact", getResponsiblePersonContact())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .append("deptId", getDeptId())
            .toString();
    }
}
